
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>

<HEAD>
   <TITLE>rav2xf_c</TITLE>
</HEAD>

<BODY style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<A name="TOP"></A>

<table style="text-align: left; margin-left: auto; margin-right: auto; width: 800px;"
 border="0" cellpadding="5" cellspacing="2">
  <tbody>
    <tr>
      <td style="background-color: rgb(153, 153, 153); vertical-align: middle; text-align: center;">
      <div align="right"> 
      <small><small><a href="index.html">Index Page</a></small></small>
      </div>
      <b>rav2xf_c</b> </td>
    </tr>

    <tr>
      <td style="vertical-align: top;">

<small><div align="center">
<A HREF="index.html#A">A</A>&nbsp;
<A HREF="index.html#B">B</A>&nbsp;
<A HREF="index.html#C">C</A>&nbsp;
<A HREF="index.html#D">D</A>&nbsp;
<A HREF="index.html#E">E</A>&nbsp;
<A HREF="index.html#F">F</A>&nbsp;
<A HREF="index.html#G">G</A>&nbsp;
<A HREF="index.html#H">H</A>&nbsp;
<A HREF="index.html#I">I</A>&nbsp;
<A HREF="index.html#J">J</A>&nbsp;
<A HREF="index.html#K">K</A>&nbsp;
<A HREF="index.html#L">L</A>&nbsp;
<A HREF="index.html#M">M</A>&nbsp;
<A HREF="index.html#N">N</A>&nbsp;
<A HREF="index.html#O">O</A>&nbsp;
<A HREF="index.html#P">P</A>&nbsp;
<A HREF="index.html#Q">Q</A>&nbsp;
<A HREF="index.html#R">R</A>&nbsp;
<A HREF="index.html#S">S</A>&nbsp;
<A HREF="index.html#T">T</A>&nbsp;
<A HREF="index.html#U">U</A>&nbsp;
<A HREF="index.html#V">V</A>&nbsp;
<A HREF="index.html#W">W</A>&nbsp;
<A HREF="index.html#X">X</A>&nbsp;
</div></small>
       <br>
       <table style="text-align: left; width: 60%; margin-left: auto; margin-right: auto;"
       border="0" cellspacing="2" cellpadding="2">
        <tbody>
          <tr>
            <td style="width: 50%; text-align: center;">
            <small>
              <a href="#Procedure">Procedure<br></a>
              <a href="#Abstract">Abstract<br></a>
              <a href="#Required_Reading">Required_Reading<br></a>
              <a href="#Keywords">Keywords<br></a>
              <a href="#Brief_I/O">Brief_I/O<br></a>
              <a href="#Detailed_Input">Detailed_Input<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Detailed_Output">Detailed_Output<br></a>
              <a href="#Parameters">Parameters<br></a>
              <a href="#Exceptions">Exceptions<br></a>
              <a href="#Files">Files<br></a>
              <a href="#Particulars">Particulars<br></a>
              <a href="#Examples">Examples<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Restrictions">Restrictions<br></a>
              <a href="#Literature_References">Literature_References<br></a>
              <a href="#Author_and_Institution">Author_and_Institution<br></a>
              <a href="#Version">Version<br></a>
              <a href="#Index_Entries">Index_Entries<br></a>
             </small>
            </td>
          </tr>
        </tbody>
</table>

<h4><a name="Procedure">Procedure</a></h4>
<PRE>
   void rav2xf_c ( ConstSpiceDouble    rot   [3][3],
                   ConstSpiceDouble    av    [3],
                   SpiceDouble         xform [6][6]  ) 

</PRE>
<h4><a name="Abstract">Abstract</a></h4>
<PRE>
 
   This routine determines a state transformation matrix 
   from a rotation matrix and the angular velocity of the 
   rotation. 
 </PRE>
<h4><a name="Required_Reading">Required_Reading</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Keywords">Keywords</a></h4>
<PRE>
 
   FRAMES 
 

</PRE>
<h4><a name="Brief_I/O">Brief_I/O</a></h4>
<PRE>
 
   VARIABLE  I/O  DESCRIPTION 
   --------  ---  -------------------------------------------------- 
   rot        I   Rotation matrix.
   av         I   Angular velocity vector. 
   xform      O   State transformation associated with rot and av.
 </PRE>
<h4><a name="Detailed_Input">Detailed_Input</a></h4>
<PRE>
 
   rot         is a rotation that gives the transformation from 
               some frame frame1 to another frame frame2. 
 
   av          is the angular velocity of the transformation. 
               In other words, if p is the position of a fixed 
               point in frame2, then from the point of view of 
               frame1,  p rotates (in a right handed sense) about 
               an axis parallel to av.  Moreover the rate of rotation 
               in radians per unit time is given by the length of 
               av. 
 
               More formally, the velocity v of p in frame1 is 
               given by 
                                  t 
                   v  = av x ( rot * p ) 
 </PRE>
<h4><a name="Detailed_Output">Detailed_Output</a></h4>
<PRE>
 
   xform       is a state transformation matrix associated 
               with rot and av.  If s1 is the state of an object 
               with respect to frame1, then the state s2 of the 
               object with respect to frame2 is given by 
 
                   s2  =  xform * s1 
 
               where &quot;*&quot; denotes matrix-vector multiplication. 
 
 </PRE>
<h4><a name="Parameters">Parameters</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Exceptions">Exceptions</a></h4>
<PRE>
 
   Error free. 
 
   1) No checks are performed on ROT to ensure that it is indeed 
      a rotation matrix. 
 </PRE>
<h4><a name="Files">Files</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Particulars">Particulars</a></h4>
<PRE>
 
   This routine is essentially a macro routine for converting 
   a rotation and angular velocity of the rotation to the 
   equivalent state transformation matrix. 
 
   This routine is an inverse of <a href="xf2rav_c.html">xf2rav_c</a>.
 </PRE>
<h4><a name="Examples">Examples</a></h4>
<PRE>
 
   Suppose that you wanted to determine state transformation 
   matrix from a platform frame to the J2000 frame. 
 
      /.
      The following call obtains the J2000-to-platform transformation
      matrix and platform angular velocity at the time of interest.
      The time value is expressed as encoded SCLK.
      ./
      
      <a href="ckgpav_c.html">ckgpav_c</a> ( ckid, time, tol, &quot;J2000&quot;, rot, av, &amp;clkout, &amp;fnd );
 
      /.
      Recall that rot and av are the rotation and angular velocity 
      of the transformation from J2000 to the platform frame. 
      ./
      
      if ( fnd )
      { 
         /.
         First get the state transformation from J2000 to the platform 
         frame. 
         ./
         
         <b>rav2xf_c</b> ( rot, av, j2plt );

         /. 
         Invert the state transformation matrix (using invstm_c) to  
         the desired state transformation matrix. 
         ./
         
         invstm_c ( j2plt, xform );
      } 
 </PRE>
<h4><a name="Restrictions">Restrictions</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Literature_References">Literature_References</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Author_and_Institution">Author_and_Institution</a></h4>
<PRE>
 
   N.J. Bachman    (JPL)
   W.L. Taber      (JPL) 
 </PRE>
<h4><a name="Version">Version</a></h4>
<PRE>
   -CSPICE Version 1.0.1, 12-APR-2007 (EDW) 

      Edit to abstract.
 
   -CSPICE Version 1.0.0, 18-JUN-1999 (WLT) (NJB) 
</PRE>
<h4><a name="Index_Entries">Index_Entries</a></h4>
<PRE>
 
  State transformation to rotation and angular velocity 
 </PRE>
<h4>Link to routine rav2xf_c source file <a href='../../../src/cspice/rav2xf_c.c'>rav2xf_c.c</a> </h4>

      </td>
    </tr>
  </tbody>
</table>

   <pre>Wed Jun  9 13:05:28 2010</pre>

</body>
</html>

